﻿declare var UE: any;
interface JQueryStatic {
    datetimepicker?: any;
}
interface JQuery {
    datetimepicker?: any;
}
declare var ue: any;
$(function () {
    UE.registerUI('insertTag', function (editor, uiName) {
        //创建一个button
        var btn = new UE.ui.Button({
            name: uiName,
            title: uiName,
            cssRules: 'background-position:-641px -20px;',
            onclick: function () {
                ue.execCommand('inserthtml', '<span class="cend" /></span>');
            }
        });
        //当点到编辑内容上时，按钮要做的状态反射
        editor.addListener('selectionchange', function () {
            var state = editor.queryCommandState(uiName);
            if (state == -1) {
                btn.setDisabled(true);
                btn.setChecked(false);
            } else {
                btn.setDisabled(false);
                btn.setChecked(state);
            }
        });
        return btn;
    });
    ue = UE.getEditor('editor', {
        toolbars: [
            ['source', 'preview', 'undo', 'redo'],
            ['background', //背景
                'bold',
                'italic', //斜体
                'underline', //下划线
                'strikethrough', //删除线
                'subscript', //下标
                'superscript', //上标
                'forecolor', //字体颜色
                'backcolor', //背景色
                '|',
                'blockquote', //引用
                'horizontal', //分隔线
                'insertorderedlist', //有序列表
                'insertunorderedlist', //无序列表
              //  'simpleupload', //单图上传
                'date', //日期
                'time', //时间
                'spechars', //特殊字符
                'link', //超链接
                'unlink', //取消链接
                'inserttable', //插入表格
                'insertTag'
            ]
        ],
        autoHeightEnabled: true,
        autoFloatEnabled: true,
        wordCount: false,
        maximumWords: 9999999,
        initialFrameHeight: 500,
    });
    $.datetimepicker.setLocale('zh');
    $("#Kssj").datetimepicker({ value: $.auto.frmDate(new Date(), 'yyyy/MM/dd 15:00') });
    //保存
    $("#btnSave").click(function () {
        var upData = {};
        var bValid = true;
        $("#divContainer").find('input').each(function (i, dom: HTMLInputElement) {
            upData[dom.id] = dom.value;
            if (dom.required && dom.value == '') {
                $.auto.alert('错误', '红色部分必须填写！');
                bValid = false;
            }
        });
        if (!bValid) return false;
        upData['Kssj'] = `to_date('${upData["Kssj"]}','yyyy/mm/dd hh24:mi')`;
        upData['Abstract'] = $("#Abstract").val();
        upData['Content'] = ue.getContent();
        upData['_table'] = 'A_COURSE';
        upData['_keys'] = 'Id';
        upData['_seq'] = 'SEQ_COURSE';
        //如果课程是添加的，则修改状态，次数等
        if (!upData['Id']) {
            upData['Kczt'] = '0';
            upData['Tkcs'] = '0';
            upData['Dzcs'] = '0';
        }
        //时长必须是数字
        upData['Yjsc']=parseFloat(upData['Yjsc'])
        if (!upData['Yjsc']) {
            upData['Yjsc'] = '0';
        }
        console.dir(upData);
        $.ajax('/api/course/formsavewithseq', { type: 'POST', data: upData, dataType: 'json' })
            .done(function () {
            });
        return false;
    });

    //编辑。
    if (window.location.search) {
        var querystring = window.location.search;
        var id = (querystring.match(/id=(\w+)/))[1];
        var pwd = (querystring.match(/p=(\w+)/))[1];

        //获取该条记录显示到界面中
        $.ajax('/api/course/getOneCourse', { type: 'POST', data: { id, pwd }, dataType: 'json' })
            .done(function (course) {
                if (!course) {
                    $.auto.alert('错误', '没有找到你的课程！');
                    return false;
                }
                var c = course[0];
                for (var key in c) {
                    $('#' + key[0] + (key.substring(1).toLowerCase())).val(c[key]);
                }
                //日期
                var sj: string = c['KSSJ'].replace(/-/g, '/').replace('T', ' ');
                $("#Kssj").datetimepicker({ value: sj.substr(0, 16)});
                setTimeout(function () { ue.setContent(c['CONTENT']); }, 2000);

            });
    }
});